using System;
using CppWrapper.Interfaces;

namespace CppWrapper.GeneratorService
{
  [Serializable]
  public class TypeInfo : ITypeInfo
  {
    private readonly string name;
    private readonly string typeNamespace;
    private readonly string type;
    private readonly string full;
    private readonly string assemblyPath;

    public TypeInfo(string name, string typeNamespace, string type, string full, string assemblyPath)
    {
      this.name = name;
      this.assemblyPath = assemblyPath;
      this.full = full;
      this.type = type;
      this.typeNamespace = typeNamespace;
    }

    public string Name
    {
      get { return name; }
    }

    public string Namespace
    {
      get { return typeNamespace; }
    }

    public string Type
    {
      get { return type; }
    }

    public string Full
    {
      get { return full; }
    }

    public string AssemblyPath
    {
      get { return assemblyPath; }
    }
  }
}